package com.dnzx.model;

import java.util.Date;
import java.util.List;
import java.util.Map;

import org.apache.ibatis.type.Alias;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 订单
 */
@Alias("cartBO")
@ApiModel(value = "Cart 购物车BO")
public class CartBO extends BaseBO {

	private static final long serialVersionUID = 1L;
	
	@ApiModelProperty(value = "主柜ID")
    private Long categoryId;
	@ApiModelProperty(value = "所属系统")
    private String operationCode;
    @ApiModelProperty(value = "设备收款方式（可多选）")
    private String paymentTypeDevice;
    @ApiModelProperty(value = "是否需要服务器")
    private String serverFlag;
	@ApiModelProperty(value = "门板颜色")
	private String deviceColor;
	@ApiModelProperty(value = "门板色值")
	private String colorValue;
	@ApiModelProperty(value = "柜体颜色")
	private String cabinetColor;
	@ApiModelProperty(value = "柜体色值")
	private String cabinetColorValue;
	@ApiModelProperty(value = "是否需要顶棚")
	private String ceilingFlag;
	@ApiModelProperty(value = "是否需要底脚")
	private String footingFlag;
	@ApiModelProperty(value = "是否需要木箱包装")
	private String woodFlag;
	@ApiModelProperty(value = "是否需要摄像头")
	private String cameraFlag;
	@ApiModelProperty(value = "订单号")
	private String sn;
	@ApiModelProperty(value = "下单时间")
	private Date cartTime = new Date();
	@ApiModelProperty(value = "用户ID")
	private Long userId;
	@ApiModelProperty(value = "订单金额")
	private double amt;
	
	@ApiModelProperty(value = "副柜编号")
    private String subCategoryCode;
	@ApiModelProperty(value = "副柜数量")
    private String subCategoryCount;
	
	// 以下非数据库字段
	@ApiModelProperty(value = "主柜名称")
	private String categoryName;
	@ApiModelProperty(value = "总门数")
	private int doorTotalCount;
	@ApiModelProperty(value = "副柜数量")
	private int subCategoryTotalCount;
	@ApiModelProperty(value = "图片地址")
	private String picUrl;
	@ApiModelProperty(value = "用户名")
	private String userName;
	@ApiModelProperty(value = "设备收款方式列表")
	private List<String> paymentTypeDeviceList;
	@ApiModelProperty(value = "副柜编号列表")
	private List<String> subCategoryCodeList;
	@ApiModelProperty(value = "副柜数量列表")
	private List<String> subCategoryCountList;
	
	@ApiModelProperty(value = "副柜编号数量列表")
	private List<Map<String, String>> subCategoryMapList;
	
	@ApiModelProperty(value = "id列表，用于查询")
	private List<Long> cartIdList;
	
	private String cartIds;// id列表，用于sql查询in条件

	public String getCartIds() {
		if (this.cartIdList != null && cartIdList.size() > 0) {
			this.cartIds = cartIdList.get(0) + "";
			for (int i = 1; i < cartIdList.size(); i++) {
				this.cartIds = this.cartIds + "," + cartIdList.get(i);
			}
		}
		return cartIds;
	}

	public void setCartIds(String cartIds) {
		this.cartIds = cartIds;
	}

	public String getOperationCode() {
		return operationCode;
	}

	public void setOperationCode(String operationCode) {
		this.operationCode = operationCode;
	}

	public String getPaymentTypeDevice() {
		return paymentTypeDevice;
	}

	public void setPaymentTypeDevice(String paymentTypeDevice) {
		this.paymentTypeDevice = paymentTypeDevice;
	}

	public String getServerFlag() {
		return serverFlag;
	}

	public void setServerFlag(String serverFlag) {
		this.serverFlag = serverFlag;
	}

	public String getDeviceColor() {
		return deviceColor;
	}

	public void setDeviceColor(String deviceColor) {
		this.deviceColor = deviceColor;
	}

	public String getCeilingFlag() {
		return ceilingFlag;
	}

	public void setCeilingFlag(String ceilingFlag) {
		this.ceilingFlag = ceilingFlag;
	}

	public String getFootingFlag() {
		return footingFlag;
	}

	public void setFootingFlag(String footingFlag) {
		this.footingFlag = footingFlag;
	}

	public String getWoodFlag() {
		return woodFlag;
	}

	public void setWoodFlag(String woodFlag) {
		this.woodFlag = woodFlag;
	}

	public String getCameraFlag() {
		return cameraFlag;
	}

	public void setCameraFlag(String cameraFlag) {
		this.cameraFlag = cameraFlag;
	}

	public String getSn() {
		return sn;
	}

	public void setSn(String sn) {
		this.sn = sn;
	}

	public Date getCartTime() {
		return cartTime;
	}

	public void setCartTime(Date cartTime) {
		this.cartTime = cartTime;
	}

	public Long getUserId() {
		return userId;
	}

	public void setUserId(Long userId) {
		this.userId = userId;
	}

	public double getAmt() {
		return amt;
	}

	public void setAmt(double amt) {
		this.amt = amt;
	}

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public List<String> getPaymentTypeDeviceList() {
		return paymentTypeDeviceList;
	}

	public void setPaymentTypeDeviceList(List<String> paymentTypeDeviceList) {
		this.paymentTypeDeviceList = paymentTypeDeviceList;
	}

	public List<String> getSubCategoryCodeList() {
		return subCategoryCodeList;
	}

	public void setSubCategoryCodeList(List<String> subCategoryCodeList) {
		this.subCategoryCodeList = subCategoryCodeList;
	}

	public List<String> getSubCategoryCountList() {
		return subCategoryCountList;
	}

	public void setSubCategoryCountList(List<String> subCategoryCountList) {
		this.subCategoryCountList = subCategoryCountList;
	}

	public String getPicUrl() {
		return picUrl;
	}

	public void setPicUrl(String picUrl) {
		this.picUrl = picUrl;
	}

	public String getColorValue() {
		return colorValue;
	}

	public void setColorValue(String colorValue) {
		this.colorValue = colorValue;
	}

	public String getSubCategoryCode() {
		return subCategoryCode;
	}

	public void setSubCategoryCode(String subCategoryCode) {
		this.subCategoryCode = subCategoryCode;
	}

	public String getSubCategoryCount() {
		return subCategoryCount;
	}

	public void setSubCategoryCount(String subCategoryCount) {
		this.subCategoryCount = subCategoryCount;
	}

	public int getDoorTotalCount() {
		return doorTotalCount;
	}

	public void setDoorTotalCount(int doorTotalCount) {
		this.doorTotalCount = doorTotalCount;
	}

	public int getSubCategoryTotalCount() {
		return subCategoryTotalCount;
	}

	public void setSubCategoryTotalCount(int subCategoryTotalCount) {
		this.subCategoryTotalCount = subCategoryTotalCount;
	}

	public Long getCategoryId() {
		return categoryId;
	}

	public void setCategoryId(Long categoryId) {
		this.categoryId = categoryId;
	}

	public String getCategoryName() {
		return categoryName;
	}

	public void setCategoryName(String categoryName) {
		this.categoryName = categoryName;
	}

	public String getCabinetColor() {
		return cabinetColor;
	}

	public void setCabinetColor(String cabinetColor) {
		this.cabinetColor = cabinetColor;
	}

	public String getCabinetColorValue() {
		return cabinetColorValue;
	}

	public void setCabinetColorValue(String cabinetColorValue) {
		this.cabinetColorValue = cabinetColorValue;
	}

	public List<Long> getCartIdList() {
		return cartIdList;
	}

	public void setCartIdList(List<Long> cartIdList) {
		this.cartIdList = cartIdList;
	}

	public List<Map<String, String>> getSubCategoryMapList() {
		return subCategoryMapList;
	}

	public void setSubCategoryMapList(List<Map<String, String>> subCategoryMapList) {
		this.subCategoryMapList = subCategoryMapList;
	}

}

